package com.hbzhit.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hbzhit.common.utils.CacheUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;


/**
 * 系统日志
 *
 * @author Mark sunlightcs@gmail.com
 */
@Getter
@Setter
@ApiModel("系统日志")
@TableName("sys_log")
public class SysLogEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	@TableId
	private Long id;

	/**用户ID*/
	@ApiModelProperty("用户ID")
	private Long userId;
	/**用户名*/
	@ApiModelProperty("用户名")
	private String username;
	/**用户操作*/
	@ApiModelProperty("用户操作")
	private String operation;
	/**请求方法*/
	@ApiModelProperty("请求方法")
	private String method;
	/**请求参数*/
	@ApiModelProperty("请求参数")
	private String params;
	/**执行时长(毫秒)*/
	@ApiModelProperty("执行时长(毫秒)")
	private Long time;
	/**IP地址*/
	@ApiModelProperty("IP地址")
	private String ip;
	/**创建时间*/
	@ApiModelProperty("创建时间")
	private Date createDate;

	/**操作用户对象*/
	@ApiModelProperty("操作用户对象")
	@TableField(exist = false)
	private SysUserEntity user;

	public SysUserEntity getUser() {
		return CacheUtils.getUserCache(userId);
	}
}
